nicer comments
saner control flow