Refactor (rename, reorder and split to multiple files)