add RunnableShell class