added check 20, casting, need more tests