Cleaned up boilerplate