adds better errors and best practices gems