introducing a concept of control
move logic to control
I forgot about close()
do not remove yourself
js in the repo??