all basic functionality now there