Added more type definitions because why now.