bug fix
works async
some tuning