everythings done

finished everything. now refactor it