Interesting puzzle, here's my attempt.