Implement first working version