Dev

refactored. time for step 3 and 4. and tests