annotatation and cleanup