first commit (imported from old googlecode project)