finished first phase
finished phase 2 but stil need to fix UI