updated with new stuff