there must be a shorter way