removd TODOs (exceptions should be handled at the user interface, not here)
slight refactor for better usability