phase 1 implemented, known bugs fixed