this is a first try to organize things