adding function and beauty...