added specification items
added more tests