Try to follow laravel style guide, add better comments