found a cool array lib, refactoring is a wip