Refactoring

@Somebody32 rvw pls