gets basic version completely working