Context Aware Programming Environment