Error handling and some helper less

Signed-off-by: Tim Smart <tim.smart@designworks.co.nz>