added additional functions with notes on how they should work,