added datastructures; renamed library