port to gocraft/web