done without checking for bugs and exceptions