updated the code to include some more base types