customised version to fit to my needs