added random methods
--amend