implemented jayson's changes