All functions implemented, possibly final commit :D.