some changes to follow the current guide lines and make it mergeable