added repl oriented programming