Implemente login protocol
Separated classes into modules