Recreate Transaction model and add validations