cases are a pain
clean up logic
damn that looks ugly
much cleaner, maybe it works