add some comments
change busyFlag to busy which returns bool now, so it can be implemented
blocking or non-blocking