if we do this often, i suggest to move to a helper function, DRY