not working abstract and have to see protected