90% there - almost all functional