validation updates and hackish error handling