Add more tests and functions