added annotations support and database support