added list class and test spec
refactored list class and test spec