updated with homework