Stage 1: Main functions working

finished main functions
need test
everyone can commit from now on.