Issue #30: implemented interactive transfers

As always there was also some refactoring:
* done many TODOS
* task's size is now long
* commented out the code