added randon generators