implementation with errors