creating generic entity