cleanup code
use pick macros only for minimal scope