forgot to add function signatures