working version

needs extra