updated with false data and functional methods