messy second commit...sorry, will clean it up