fixed the return value of constructor call, added tests for functional list processing