all mem functs done