added basic context and abstract validator