made some field intended to be used by others more clear by adding their types explicitly.