implementing entities classes