add many more basic pieces
merged