Add input initialization + some enhancements