annotations + java config