implemented key words bc the previous implementation is broken