Better add functionality