Added way too much functionality for just one commit...