core more clear, but still with bugs