still having some trouble but the basics work