functioning prototype