future todos: beforepage change etc