fixed up to work with current version and now passes lint and hint checks. still need to put in the test cases