implemented doctrine 2