annotation improved and pattern engine started from scratch