start working on type declarations