Version 2 with annotations