WIP: First semi-working version