completes everything up to step 5. adds id validations