Added Callbacks and Validation