a little bit of error handling
dirty way but working way; scrapping with fork