added some deriving and seperate face ptr from face data