removed barebones for exstensive overhaul