spacing looks messed up here, and these magic numbers should be constants