Extended entity objects

now includes json handling with proper null cheking