finish implementation of concat, add more tests