Initial commit.

working version
rendering needs redoing
interation would be nice