refactored some functions because a *bool is silly