added experimental code
added helper functions, untested
hard coded testing removed, functions fixed, udpates are functional, must enter first+last