More validation, layouts and error handling, we should be quite fine now