few comments and functions on top