refactor methods to account for none values