added all functions... but something's missing...