finally almost finished  added