things work ever better
add error handling