reorganize code, make separate level view controller