rubbish error handling ....