revise controller; db schema