rethink setting field level, implement

might be all set with semantic analysis