comments
made tests better, refactored