small refactoring, split into files, grouped into class vk