Added functionality to Sleep and abstracted some methods