improved function

1052