initial version can program and supports debugging