Started #5 and made more changes to #1