based on laravel framework