Mostly Functional

Shipping still needs to be added