redefining most things