basic framework, with some langauge specific error