add searchable functionality
finish belongs to and has many