finished up with variables , function, invoke