first commit, needs some work on fades still, but it's getting there...