added all the functions for hard mode
some are implemented, other outlined