Some refactoring, can still post items