final version hope this works