working version
Slightly cleaned up