have initial working version