use api folder to avoid conflicts with frontend