added support for forward/backward annotation