this is (maybe?) a better solution