rev 1 - initial commit with some basic functions