Basic working version

Hey, This is a new version where all basic needs are implemented. v2.0 will contain a downgrade function, but this one is already complete with all the other functions.