Task 1165

Hi. Code isn't very clean yet. User checking is still very very simple.