wrote runnable prototype