Rewriting core functionality