test coverage over 98%
remove empty array default, as slice() will always return an array
test coverage over 99%. add linting