Basic version done
Touchups and TODO