Creating basic cross-platform layer