full functionality prototype