added logging decorator