probably final commit, everything fixed, some features are missing but most of it is done