Updated functionality, better errors