Current Source

This is the current source that I have. I was abstracting the code more
and did not have a chance to test it. I think it should be alright but
be cautious.