fixed types and annotations