2 grote refactor