Result changed from custom to ArrayObject child, added possibility of choose result type, core classes annotations completed