Bunch of edits. Added testing on blocks. Don't forget to call blocks with () if using them as variables!