Basic working version have at it!