Implement several more functions