strongly fype attributes

**do not review yet**