adds array-based and refactors stuff

There was a lot os mistakes that ive done yesterday. This commit fixes them, adds more tests and also array-based LL, which is not concluded in this commit.