add scale fn