Adding assertions, info logs, and validation functions for debugging purposes