try at a decent layouting