moved collection classes to a different package and optimzed key handling