Rewritten into Laravel and users can add themselves, fixes #1 and #2