Scratch

#603
#589
#578