added more random functions