copied these 2 classes in. package misc needs more rework which is a side adventure