Updated with hibernate annotations